Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Runtime IO #189

Merged
merged 24 commits into from
Sep 10, 2024
Merged

Runtime IO #189

merged 24 commits into from
Sep 10, 2024

Conversation

naure
Copy link
Collaborator

@naure naure commented Sep 4, 2024

Based on #173.

This PR experiments with how Input / Output can work. It is based on MMIO - Memory-Mapped IO. It works by reading or writing to specific memory addresses. The system recognizes this and can commit to the content as part of the proof.

This can also be used for debug statements during development:

📜📜📜 Hello, World!
🌏🌍🌎
test test_ceno_rt_io ... ok

@naure naure marked this pull request as ready for review September 4, 2024 18:57
@naure naure requested review from hero78119 and spherel September 4, 2024 18:58
@hero78119
Copy link
Collaborator

hero78119 commented Sep 6, 2024

IIUC, this PR is for having MMIO write in program for output, then to memory, and we can peak memory and check output.

A question, do we currently support initialized (std) input in a reserved memory range before program start? For example, specify Fibonacci rounds as input ?

Base automatically changed from runtime to master September 6, 2024 10:11
@naure
Copy link
Collaborator Author

naure commented Sep 7, 2024

IIUC, this PR is for having MMIO write in program for output, then to memory, and we can peak memory and check output.

A question, do we currently support initialized (std) input in a reserved memory range before program start? For example, specify Fibonacci rounds as input ?

The emulator supports this. The prover I guess not yet? But it will have to, also for program .data section. That can be the same mechanism.

@naure naure merged commit d988e54 into master Sep 10, 2024
4 checks passed
@naure naure deleted the runtime-io branch September 10, 2024 12:06
hero78119 pushed a commit that referenced this pull request Sep 30, 2024
_Based on #173._

This PR experiments with how Input / Output can work. It is based on
MMIO - Memory-Mapped IO. It works by reading or writing to specific
memory addresses. The system recognizes this and can commit to the
content as part of the proof.

This can also be used for debug statements during development:

```
📜📜📜 Hello, World!
🌏🌍🌎
test test_ceno_rt_io ... ok
```

---------

Co-authored-by: Aurélien Nicolas <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants